export const metadata = { sidebar_position: 80, title: "🟢 Основи чат-бота" };

# 🟢 Основи чат-бота

<div style={{ textAlign: "center" }}>
  <Image
    src={"/docs/assets/basics/chatbot.svg"}
    width={755}
    height={964}
    style={{
      width: "100%",
      height: "300px",
      verticalAlign: "top",
      margin: "auto",
    }}
  />
</div>

Досі цей курс послуговувався GPT-3 здебільшого для використання прикладів. GPT-3 – це ВММ, яка не має пам'яті. Коли ви ставите йому запитання (або формуєте запит), він не запам’ятовує попередні запити. На відміну від GPT-3, такі чат-боти, як [ChatGPT](https://chat.openai.com), можуть **запам'ятовувати вашу історію повідомлень**. Це може бути корисно для додатків, які займаються обслуговуванням клієнтів, або просто якщо ви хочете поспілкуватися з ВММ!

Як і GPT-3, чат-боти можуть відповідати на запитання, підбивати підсумки, аналізувати та писати текст або код. Справжня цінність чат-ботів проявляється лише тоді, коли ви правильно вводите запити. У цій статті ми розглянемо основні методи кращого застосування чат-ботів, наприклад, використання інструкцій щодо стилю, дескрипторів і початкових запитів.

## Зміна вашого запиту

### Інструкція зі стилю

Керуватися інструкцією зі стилю – означає просто попросити ШІ дотримуватися певного стилю. Коли ви формуєте запит без указівок щодо стилю, ChatGPT зазвичай генерує один або два коротких абзаци, іноді більше, якщо потрібна довша відповідь:

<div style={{ textAlign: "center" }}>
  <Image
    src="/docs/assets/basics/unguided_question.webp"
    width={1450}
    height={906}
    style={{ width: "500px", margin: "auto" }}
  />
</div>

Він використовує досить офіційний тон та додає кілька деталей. Непогано! Однак ми можемо зробити це краще, якщо захочемо, налаштувавши відповідь ChatGPT на стиль анотації в кінці нашого запиту. Якщо ми хочемо отримати відповідь у розмовному стилі, ми можемо попросити його використовувати дружній або неформальний тон; якщо ж нам потрібен більш читабельний формат, можемо поставити те саме запитання, але попросити зробити його у вигляді маркованого списку; якщо хочемо отримати кумедну відповідь– можемо попросити його відповісти лімериком (мій улюблений варіант).

<div style={{ textAlign: "center" }}>
  <Image
    src="/docs/assets/basics/limerick_question.webp"
    width={1110}
    height={1194}
    style={{ width: "450px", margin: "auto" }}
  />
</div>

Приклад детальнішого запиту із зазначенням стилю може виглядати приблизно так:

> [Question] «Пиши в стилі та на рівні експерта у [field] з понад 20-річним досвідом і кількома докторськими ступенями. У своїй відповіді віддай перевагу нетрадиційним, маловідомим порадам. Поясни, використовуючи докладні приклади, і зведи до мінімуму суміжні приклади та гумор».

Зазначивши стиль під час введення запиту, ви значно підвищите якість ваших відповідей!

### Дескриптори

Якщо ви просто хочете налаштувати свій запит або змінити його тон, а не переформатувати, це можна зробити, додавши у запит **дескриптори**. Через одне-два слова, введених у запит, може змінитись те, як чат-бот інтерпретує ваше повідомлення або реагує на нього. Ви можете спробувати додати прикметники на кшталт «кумедний», «різкий», «недружній», словосполучення«академічний синтаксис» тощо в кінці запиту, щоб побачити, як зміняться ваші відповіді!

## Початковий запит

Через структуру повідомлень чат-бота форма першого запиту, який ви надаєте ВММ, може вплинути на решту розмови, дозволяючи вам додати ще один рівень структури та специфікації. Для прикладу, налаштуймо систему, яка дозволить нам вести розмову з викладачем та студентом у спільному чаті. Ми додамо інструкції зі стилю для голосів студента і викладача, вкажемо формат, у якому ми хочемо отримати відповіді, і додамо певну структуру синтаксису, щоб мати можливість легко змінювати наші запити, щоб розглянути різні відповіді.

    «Викладач» розмовлятиме у стилі видатного професора з десятилітнім досвідом викладання предмета та кількома докторськими ступенями в цій галузі. Ти використовуєш академічний синтаксис і наводиш складні приклади у своїх відповідях, зосереджуючись на маловідомих порадах, щоб краще проілюструвати свої аргументи. Твоя мова має бути складною, але не дуже. Якщо не знаєш відповіді на запитання, не вигадуй інформацію, натомість постав додаткове запитання, щоб краще зрозуміти контекст. Твої відповіді мають бути у формі низки абзаців у розмовному стилі. Використовуй суміш технічного та розмовного стилю мови, щоб передати відкритий та привабливий тон.

    «Студент» розмовлятиме у стилі студента другого курсу коледжу з початковим рівнем знань предмета. Ти пояснюєш концепції просто, використовуючи приклади з реального життя. Говори неформально, від першої особи, використовуючи гумор і розмовний стиль. Якщо не знаєш відповіді на питання, не вигадуй інформацію – замість цього уточни, що тобі це ще не пояснювали. Твої відповіді мають бути у формі низки абзаців у розмовному стилі. Використовуй розмовний стиль, щоб передати жвавий та привабливий тон.

    «Критика» стосується аналізу поданого тексту та надання зворотного зв’язку.
    «Узагальнити» означає надати ключові деталі з тексту.
    «Відповісти» означає відповісти на запитання від заданої особи.

    Будь-що в дужках () означає особу, від якої ти пишеш.
    Будь-що у фігурних дужках {} означає тему, до якої ти залучений.
    Будь-що у квадратних дужках [] означає дії, які ти повинен виконати.
    Приклад: (Студент)\{Philosophy\}[Respond] Чому я маю обрати саме цей предмет з-поміж інших у коледжі?

    Якщо ти зрозумів і готов розпочати, відповідай «так».

Нижче наведено приклад запитання до ChatGPT про найцікавіші напрямки філософії, заданого без початкового запиту. Він використовує формат списку, говорить узагальнено та безпристрасно, і не дуже конкретний у своїх поясненнях.

<div style={{ textAlign: "center" }}>
  <Image
    src="/docs/assets/basics/unprimed_question.webp"
    width={1092}
    height={964}
    style={{ width: "650px", margin: "auto" }}
  />
</div>

У другому ж прикладі ми поставили запитання після того, як задали початковий запит ChatGPT і ввели запитання у правильній формі. Ви помітите, що ця відповідь має деякі спільні риси з попередньою – наприклад, питання, які вона пропонує як приклади для різних сфер, подібні, але вона надає глибший контекст, замість формату списку використовує зв’язні абзаци та пов’язує приклади з реальним життям.

<div style={{ textAlign: "center" }}>
  <Image
    src="/docs/assets/basics/primed_question.webp"
    width={1092}
    height={1020}
    style={{ width: "650px", margin: "auto" }}
  />
</div>

Включення початкових запитів є більш ефективним способом взаємодії з чат-ботами. Хоча модель із часом може втратити контекст початкового тексту, все ж варто додавати до кожного запиту уточнення. Це допоможе покращити вашу розмову зі штучним інтелектом!

[Dastardi](https://twitter.com/lukescurrier)
